#!/usr/bin/env bash

cd $(dirname $0)
echo "-------------------- 绘图 --------------------"

function main(){

    MakeData
    #exit 
    AutoKill gnuplot
    ./plot.plt &
    echo "[log] 开启新的 gnuplot 进程"
}

#---------------------------------------
#自动杀死包含特定字符的进程
#@param1：进程名或者进程关键字
#---------------------------------------
function AutoKill(){
    if [ $# -eq 0 ] ; then   
        return 2
    fi

    local src=$(ps -a | grep $1 | awk '{print $1}') 
    for i in $src 
    do 
        #pid=$(echo "$i" | cut -d' ' -f1)
        kill -9 $i  
        local status=$?
        if [ $status -eq 0 ] ; then 
            echo "[log] 发现 '$i' 进程, 已经杀死该进程!"
        else
            echo "[log] 发现 '$i' 进程, 杀死该进程失败!"
            return 2
        fi 
        return 0
    done      
}

#拆分从串口获取的数据
function MakeData(){
    local pos=$(cat m.dat | grep -n "1111111111" | cut -d':' -f1 ) #获取分割符所在的行数
    local pos1=$(echo $pos | cut -d' ' -f1)
    local pos2=$(echo $pos | cut -d' ' -f2)
    local pos3=$(cat m.dat | sed -n '$=') #获取文件行数

    local begin=1
    local end=$[pos1-1]
    cat m.dat | sed -n "${begin},${end}p" > t1.dat #拆分第1组数据
   
    local begin=$[pos1+1]
    local end=$[pos2-1]
    cat m.dat | sed -n "${begin},${end}p" > t2.dat #拆分第2组数据

    local begin=$[pos2+1]
    local end=$[pos3]
    cat m.dat | sed -n "${begin},${end}p" > t3.dat #拆分第3组数据
    local yuzhi=$(awk -F"," 'BEGIN {max = 0} {if (($1+0)**2 > max+0) max=$1**2} END {print sqrt(max)}' t2.dat)   #寻找最大值决定参考线的峰值
 
    #local yuzhi=5000000
   # yuzhi=10
    sed -e "s/$/ $yuzhi/" t3.dat > trig1.dat # 
    sed -e "s/$/ -$yuzhi/" t3.dat > trig2.dat #

    paste t1.dat t2.dat > ad.dat #合并ad和时间数据  

    return 

    #将拆分的数据按照时间合并为新的数据文件
    local t1_len=$(cat t1.dat | sed -n '$=') #获取文件t1.dat行数
    local t2_len=$(cat t2.dat | sed -n '$=') #获取文件t2.dat行数
    local t3_len=$(cat t3.dat | sed -n '$=') #获取文件t3.dat行数

    local idx1=1
    local idx2=1
    local idx3=1

    local data1=0
    local data2=0
    local data3=0 

    echo --------------
    while [ $idx1 -le $t1_len ]
    do 
        data1=$(sed -n "${idx1}p" t1.dat)
        data2=$(sed -n "${idx2}p" t2.dat)
        echo $data1
        idx1=$[idx1+1] 
    done


    


}



main $*